package cn.edu.ncu.housinghub.dto.request.agent;

import jakarta.validation.constraints.*;
import lombok.Data;

@Data
public class ApplyRequest {
    // 营业执照编号
    @NotBlank(message = "营业执照编号不能为空")
    private String licenseNo;

    // 营业执照图片地址
    @NotBlank(message = "营业执照照片不能为空")
    private String licensePicPath;

    // 手机号
    @NotBlank(message = "手机号不能为空")
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式错误")
    private String phone;

    // 公司名
    @NotBlank(message = "公司名不能为空")
    private String companyName;

    // 公司职位
    @NotBlank(message = "公司职位不能为空")
    private String companyPosition;

    // 真实姓名
    @NotBlank(message = "真实姓名不能为空")
    @Pattern(regexp = "^[\u4e00-\u9fa5]+$", message = "真实姓名必须为中文")
    private String realName;

    // 身份证号码
    @NotBlank(message = "身份证号码不能为空")
    @Pattern(regexp = "^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$", message = "身份证号码格式错误")
    private String idCard;

    // 邮箱
    @NotBlank(message = "邮箱不能为空")
    @Email(message = "邮箱格式错误")
    private String email;

    // 城市
    @NotBlank(message = "城市不能为空")
    private String city;

    // 工作年限
    @NotNull(message = "工作年限不能为空")
    @Min(value = 0, message = "工作年限必须为正数")
    @Max(value = 30, message = "工作年限不能超过30")
    private Integer workYears;
}
